<?php
/*
  Plugin Name: Epart Sample Plugin
  Network: true
  Plugin URI: http://www.epart.com/
  Description: 플러그인 제작을 위한 샘플
  Version: 0.1.2
  Author: Epart E-Business Development Team
  Author URI: http://www.epart.com/
  License: Epart BBS plugin follows Word Press License Terms.
 */

//--------------------------------------------------------------------------
// 플러그인과 별도로 추가되는 유틸리티 플러그인(관리자 플러그인목록에 비표시)
//--------------------------------------------------------------------------
include_once WP_PLUGIN_DIR . '/epart-common/common-util.php';
//회원검색용 플러그인
include_once WP_PLUGIN_DIR . '/epart-common/common-search-user.php';
//트랜잭션 플러그인 - 게시판 관련 테이블이 innoDB여야함
include_once WP_PLUGIN_DIR . '/epart-common/common-transaction.php';
//페이징 플러그인
include_once WP_PLUGIN_DIR . '/epart-common/common-paging-class.php';
//--------------------------------------------------------------------------

/*
 * 상수정의
 */
define("EPART_PLUGIN_NAME", "esample"); //플러그인 이름 소문자
define("EPART_PLUGIN_NAME_U", strtoupper(EPART_PLUGIN_NAME)); //플러그인 이름 대문자 (상수정의 위해)
define(EPART_PLUGIN_NAME_U."_PLUGIN_DIR_NAME", "epart-sample"); //플러그인 폴더명
define(EPART_PLUGIN_NAME_U."_PLUGIN_DIR", plugin_dir_path(__FILE__));
define(EPART_PLUGIN_NAME_U."_PLUGIN_JS_URL", plugin_dir_url(__FILE__) . "js");
define(EPART_PLUGIN_NAME_U."_PLUGIN_CSS_URL", plugin_dir_url(__FILE__) . "css");

//기본 라이브러리 인클루드
include_once WP_PLUGIN_DIR . "/" . constant(EPART_PLUGIN_NAME_U."_PLUGIN_DIR_NAME") . "/lib/".EPART_PLUGIN_NAME."-basic-lib.php";
//widget class 인클루드
include_once WP_PLUGIN_DIR . "/" . constant(EPART_PLUGIN_NAME_U."_PLUGIN_DIR_NAME") . "/lib/".EPART_PLUGIN_NAME."-widget-class.php";

if (is_admin ()) {

    //업데이트 알림 - 네트워크관리자에게만 메세지 보임
    add_action("admin_notices", EPART_PLUGIN_NAME."_version_warning");

    //플러그인 활성/비활성 후크
    register_activation_hook(__FILE__, EPART_PLUGIN_NAME."_plugin_activate");
    register_deactivation_hook(__FILE__, EPART_PLUGIN_NAME."_plugin_deactivate");

    include_once "admin/".EPART_PLUGIN_NAME."-admin.php";

    add_action("admin_menu", EPART_PLUGIN_NAME."_admin_menu");
} else {

    //url rewrite 세팅
    add_filter("rewrite_rules_array", EPART_PLUGIN_NAME."_add_url_rewrite_rule");
    add_filter("query_vars", EPART_PLUGIN_NAME."_add_query_vars");

    //codex에 보면 flush하라고 나와있는데 정확한 용도는 잘 모르겠음
    //TODO: flush의 기능확인
    add_filter("wp_loaded", "flush_rewrite_rules");

    //게시판루틴 적용
    add_shortcode(EPART_PLUGIN_NAME, EPART_PLUGIN_NAME."_do_shortcode");
}

// 위젯 추가
// 플러그인이 esample 일때 Esample로 변경
$widget_class_name = strtoupper(substr(EPART_PLUGIN_NAME, 0 ,1)).substr(EPART_PLUGIN_NAME, 1 ,  strlen(EPART_PLUGIN_NAME)-1);
add_action('widgets_init', create_function('', 'return register_widget("WP_Widget_'.$widget_class_name.'");'));

?>
